#ifndef FUNCIONESCOMUNES_H_
#define FUNCIONESCOMUNES_H_

#include <malloc.h>
#include <stdio.h>
#include <string.h>
#include <sstream>

#define	ARCHIVO_FIFO	"/tmp/archivo_fifo"

using namespace std;

class FuncionesComunes {

public:
	static string ConvertirAString(int numero) {
		stringstream ss;
		ss << numero;
		return ss.str();
	}
	static char * ConvertirACharPointer(string cadena) {
		char* pch = (char*) malloc(sizeof(char) * (cadena.length() + 1));
		strcpy(pch, cadena.c_str());
		return pch;
	}

	static string GetIdEnviarMensaje(int pid, string nickname){
		return  FuncionesComunes::ConvertirAString(pid)  + Separador;
	}

	static string GetIdEscribirLog(int pid, string nickname){
		return  FuncionesComunes::ConvertirAString(pid)  + Separador + nickname;
	}
	static string GetNombreLog(){
		return "./log/concuconversation.log";
	}

	static string GetFifoServidor(){
		return ARCHIVO_FIFO;
	}

	static string getFifoCliente(string pidNombre){
		return "/tmp/"+ pidNombre;
	}
	static const char Separador = '-';

	static const int Puerto = 16000;
};

#endif /* FUNCIONESCOMUNES_H_ */
